home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1996 April
/
CHIP 1996 aprilis (CD06).zip
/
CHIP_CD06.ISO
/
hypertxt.arj
/
9508
/
EXLOTUS.CD
< prev
next >
Wrap
Text File
|
1996-03-01
|
10KB
|
161 lines
@VFelhasználói tapasztalatok két táblázatkezelôvel@N
@VMakró: Lotus kontra Excel@N
Nemrég egy ismerôsöm megkért, hogy segítsem ki
""programügyileg". Mint késôbb kiderült, ez azt jelentette,
hogy írjam át számára az 1--2--3-ban ""makrózott", mûködô
programját az Excelhez, némi kis módosítással.
@VA becserkészés@N
Az Excelben való makrózással még nem nagyon
foglalkoztam, miután -- véleményem szerint -- a windowsos
Excel csaknem minden a felhasználók által leggyakrabban
használt tulajdonsága megtalálható például a Lotus 1--2--3
DOS-os változatában vagy a Symphony programban, s ezek
nagyszerûen ""makrózhatók". Megbízóm erre azzal biztatott,
hogy -- a leírás szerint -- ez nem probléma, mert ha én
kibôvítem az 1--2--3-ban megírt makrót, az Excel ezt
befordítja saját makrónyelvére. Nosza rajta -- mondtam én
--, miután 1--2--3-ban és Symphonyban (ez sokban hasonlít az
1--2--3-ra) már évek óta írok makrókat a probléma viszonylag
egyszerûen megoldhatónak látszott.
Azért óvatosságból futottam egy kört, és megkérdeztem
néhány programozással foglalkozó ismerôsömet, hogy milyen is
az Excel makrónyelve. A legtöbben azt mondták, hogy még
sohasem használták, de akik már foglalkoztak a kérdéssel,
azok véleményei is erôsen megoszlottak. A Visual Basic-es
nyelvet -- az egyébként Basicben is programozók -- jónak
mondták, ha valakinek van basices programozói gyakorlata.
Akik viszont nem voltak járatosak a Basicben, azok úgy
vélték, hogy ez tulajdonképpen egy külön programozási nyelv,
amit bizony meg kell tanulni. Az Excel 4.0-ból örökölt
makrónyelvet viszont nem dicsérték túlságosan. Mivel ez
utóbbi áll közelebb az Lotus 1--2--3 makrónyelvéhez, így
végül ez mellett döntöttem.
@VA feladat@N
A megoldandó feladat szerint egy ""univerzális"
adatlapot kellett készíteni, amibe a különbözô helyszíneken
begépelik az ""adatbázisokat" bizonyos szempontok szerint.
Ez gyakorlatilag azt jelenti, hogy egy menübôl választhatóan
különbözô helyekre kell léptetni a programot, és ott a
megfelelô adatokat be kell kérni.
Egy ilyen jellegû feladat megoldása az 1--2--3-ban nem
jelenthet gondot -- még egy viszonylag kis gyakorlattal
rendelkezô -- ""makróírónak" sem. Egyszerûen kell írni egy
úgynevezett @KMenubranch@N parancsot, és onnan -- a rámutatástól
függôen -- a megfelelô helyre kell ""ugratni", majd egy
@KGetlabel@N, vagy @KGetnumber@N utasítással bekérni a szöveges vagy
számszerû adatot. Amikor megtörtént az adatok felvitele, le
kell menteni az adatokat tartalmazó részt. Azért csak azt,
mert például a feldolgozásnál a beíró makróra semmi szükség.
(Természetesen az ilyen jellegû programokat ""szebben" és
ebbôl adódóan bonyolultabban is meg lehet írni, de
szándékosan a lehetô legegyszerûbbre törekedtem.) Az Excel
ugyan lefordította a programot, bár igen bonyolultan. Ez a
fordítás közvetlenül még nem mûködik, de ennek alapján már
egy kis kéz(gép) ügyességgel meg lehet írni a mûködôképes
változatot.
Ezzel azonban csak a probléma egy része oldódott meg,
mert az így begyûjtött információt rendezni kell, illetve
fel kell dolgozni. Ezek a floppyn kapott file-ok csak az
adatokat tartalmazták, de azokat -- egy ûrlapnak megfelelôen
-- szigorúan meghatározott sorrendben és helyen.
Ilyen jellegû feladat megoldása az 1--2--3-ban szintén
viszonylag egyszerû. Egyszer meg kell csinálni a feldolgozó
programot tartalmazó file-t, majd minden egyes feldolgozandó
""adatbázist" ebbe bele kell kombinálni. îgy a grafikákat,
táblázatokat és az egyéb szempontok szerinti kigyûjtéseket
-- és fôleg a makrókat! -- csak egyszer kell megírni. A
szerintem még ennél is fontosabb, csak egy file-ban kell
tárolni, illetve szükség esetén csak egy helyen kell
javítani. îrtam tehát az 1--2--3-ban egy ""alapfile-t".
Ennek a fordításakor azonban kiderült, hogy az ilyen jellegû
megoldásokat az Excel nem támogatja, ugyanis a következô
megoldást javasolta:
Be kell hívni az ""alapfile-t". Ezután be kell hívni a
komplett ""adatfile"-t makróstól, mindenestôl. Ezután ki
kell jelölni a számunkra érdekes részét, és azt be kell
másolni az alapfile megfelelô területére. Végül is nem
vészes a dolog, de olyan helyen, ahol esetleg többszáz
adatfile van, meggondolandó, hogy 1-2 Kbyte-os adatcsomagok
helyett 15-20 Kbyte-os, vagy még ennél is nagyobb
programokat tároljunk.
@VVizsgálódás@N
Nézzünk a dolgok mélyére! Megnéztem egy kicsit
részletesebben, hogy melyek azok az elemek, amelyek merôben
eltérnek az 1--2--3-ban megszokottól, vagy másként
viselkednek az Excelben. Természetesen itt nem
megnevezésbeli, hanem a végrehajtásban elôforduló
különbözôségekre gondolok,
Az 1--2--3-hoz szokottak figyelmébe ajánlanám az
alábbiakat: Vigyázni kell a címsor és/vagy címoszlop
használatával. Ugyanis míg az 1--2--3-ban a címsor jelleg
feloldásáig nem írható bele semmi, addig az Excel esetében
csak ki van jelölve. Itt tehát a felül nem írhatóságról
külön gondoskodni kell, mert igen furcsa lehet egy felülírt
fejlécû táblázat. Ha a táblázat úgy készült el az
1--2--3-ban, hogy jelentôsége van az ""újraszámolási"
(recalculation) metódusnak, akkor figyelembe kell venni,
hogy az Excel a fordításnál nem tudja megkülönböztetni a
soronkénti és az oszloponkénti metódust, és mindig csak az
automatikust ajánl fel. Az gondolom senkinek sem meglepô,
hogy a grafikák készítése és kezelése, illetve a nyomtatás
vezérlése egészen más jellegû, tekintve, hogy az egyik
program DOS-os a másik pedig windowsos.
Térjünk vissza a makrók fordítására! Én tulajdonképpen
hasznos dolognak tartom, hogy az egykor -- sôt bizonyos
részeiben még ma is -- szabványnak számító és a világon a
legelterjedtebb Lotus 1--2--3 makróit be lehet illeszteni az
Excelbe, hiszen rengeteg alkalmazást írtak meg 1--2--3-ban.
Azonban mindenkit óvok a korai lelkesedéstôl, mert az így
lefordított programok még jelentôs mennyiségû utógondozást
igényelnek, ami sok esetben majdhogynem több idôt vesz
igénybe, mint ha eleve az Excelben készül a makró.
Természetesen az eddigiekben az általam megismert
problémák egy részét említettem csak, de meg kell jegyeznem,
hogy sok makró-részlet fordítása minden további nélkül
gyakorlatilag tökéletesen és viszonylag gyorsan megoldható
volt.
A fentiekbôl következôen csak olyanoknak javaslom az
1--2--3-ból makrózott file-ok ""átültetését", akik az
1--2--3-hoz is és az Excel-hez is értenek valamelyest.
Persze még ebben az esetben sem árt az erôs idegzet és a
kitartó türelem.
@VKonklúzió@N
Sok esetben azonban -- sôt meg merném kockáztatni, hogy
szinte majdnem mindig -- sokkal megfelelôbb a régi
1--2--3-ban használni a programokat. Sokkal gyorsabban
mûködnek, mint windowsos társaik. îgy például az Excel
program behívása -- Windowszal és egy egyszerû munkafile-lal
együtt -- 44 másodperc egy 486DX2/80-as, igaz ""csak" 4
Mbyte-os gépen, míg ugyanezen gépen a Lotus 1--2--3 és a
munkafile behívása 4,2 másodpercet vett igénybe. (286-osról
ilyen összehasonlításban nem is érdemes szólni.) Ez az arány
természetesen a számítások során nem áll fenn, de feladattól
függôen elôfordulhat a kétszeres-háromszoros
sebességeltérés. Arról nem is beszélve, mennyi helyet foglal
el a winchesteren a Windows és az Excel, és mennyit a Lotus
1--2--3 DOS-os verziója. (Jelen esetben az 1--2--3 olyan
szûk verziója, amin az eredeti 1--2--3-as tudásával azonos
program még futtatható, egy floppyn elfér.) Ha valaki mégis
mindenáron Windows alá kívánja tenni régi 1--2--3-ban írt
DOS-os alkalmazásait, annak is inkább ajánlom az 1--2--3
windowsos verzióját, mert abban ""csont nélkül" futtathatók
a DOS-os makrók. Végezetül pedig azoknak, akiket a fentiek
nem riasztottak el az ilyen jellegû makró-átfordításoktól,
sok sikert és türelmet kívánok a ""transzplantációhoz".
@KPintér László@N